Skip to content

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented May 10, 2022

fixes #96564

TLDR:

fn execute(ty: Ty<'_>) -> &str { todo!() }

(Ty being a type alias impl trait) used to produce the following error before this PR

error[E0581]: return type references an anonymous lifetime, which is not constrained by the fn input types
 --> src/lib.rs:4:27
  |
4 | fn execute(ty: Ty<'_>) -> &str { todo!() }
  |                           ^^^^
  |
  = note: lifetimes appearing in an associated type are not considered constrained

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label May 10, 2022
@rust-highfive
Copy link
Contributor

r? @compiler-errors

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label May 10, 2022
Copy link
Member

@compiler-errors compiler-errors left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

@compiler-errors
Copy link
Member

@bors r+

@bors
Copy link
Collaborator

bors commented May 10, 2022

📌 Commit d63f82e has been approved by compiler-errors

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 10, 2022
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request May 10, 2022
…aints, r=compiler-errors

Use lifetimes on type-alias-impl-trait used in function signatures to infer output type lifetimes

fixes rust-lang#96564

TLDR:

```rust
fn execute(ty: Ty<'_>) -> &str { todo!() }
```

(`Ty` being a type alias impl trait) used to produce the following error before this PR

```
error[E0581]: return type references an anonymous lifetime, which is not constrained by the fn input types
 --> src/lib.rs:4:27
  |
4 | fn execute(ty: Ty<'_>) -> &str { todo!() }
  |                           ^^^^
  |
  = note: lifetimes appearing in an associated type are not considered constrained
```
bors added a commit to rust-lang-ci/rust that referenced this pull request May 11, 2022
Rollup of 7 pull requests

Successful merges:

 - rust-lang#96543 (Remove hacks in `make_token_stream`.)
 - rust-lang#96887 (rustdoc: correct path to type alias methods)
 - rust-lang#96896 (Add regression test for rust-lang#68408)
 - rust-lang#96900 (Fix js error)
 - rust-lang#96903 (Use lifetimes on type-alias-impl-trait used in function signatures to infer output type lifetimes)
 - rust-lang#96916 (simplify length count)
 - rust-lang#96925 (Fix issue rust-lang#95151)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Collaborator

bors commented May 11, 2022

⌛ Testing commit d63f82e with merge ee6eaab...

@bors bors merged commit 17a735b into rust-lang:master May 11, 2022
@rustbot rustbot added this to the 1.62.0 milestone May 11, 2022
@oli-obk oli-obk deleted the opaque_type_lifetime_constraints branch May 17, 2022 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

type-alias-impl-trait with lifetime param can't be used in fn input
5 participants